SUPPORT / SAMPLES & SAS NOTES
 

Support

Problem Note 59608: SAS® Content Server recovery fails with the Deployment Backup and Recovery Tool and returns "COMMAND_TOOL_ERROR_SCS"

DetailsHotfixAboutRate It

Problem

When you use the Deployment Backup and Recovery Tool batch commands sas-recover-offline or sas-recover, recovery of the Content Server fails if the password for the dbmsowner account contains the spacing character ^ (also known as the caret). When this problem occurs, an error like the one in the example shown below is reported to the console:

errorEntries
   statusCode:	        315
   name:	        COMMAND_TOOL_ERROR_SCS
   category:	        CONTENTSERVER
   classification:	ERROR
   dateTimeOfError:	2016-12-20T14_18_36
   logName:	        ContentServer.log
   logFileLocation:	C:\SAS\Config\Lev1\Backup\Logs\2016-12-20T14_16_27\recover\ContentServer
   operationType:	recover
   originatingTier:     Host: yourhost.yourdomain.com Configuration Directory: C:\SAS\Config\Lev1
   message:             An error occurred while performing content server backup or recovery.

Check to See Whether This Is the Problem

If you are unsure whether the dbmsowner password contains a caret (^), do the following:

2016-12-20 14:18:36.127 ESTFATAL:  password authentication failed for user "dbmsowner"
  1. you can review several log files to determine whether a caret in the password is causing the error.
  2. Use the logName and logFileLocation shown in the console error to locate the ContentServer.log file.
  3. Search the file for an exception like the one shown below:
    2016-12-20 14:18:36,206 [main] ERROR com.sas.svcs.backup.server.BackupDriver - An exception while running 
    the BackupServer executable, Exiting..... : null
    
    Error Code: 315
    	at com.sas.svcs.backup.server.handler.SCSRecoveryHandler.restoreSCS(SCSRecoveryHandler.java:533)
    	at com.sas.svcs.backup.server.handler.SCSRecoveryHandler.execute(SCSRecoveryHandler.java:190)
    	at com.sas.svcs.backup.server.handler.SCSRecoveryHandler.execute(SCSRecoveryHandler.java:37)
    	at com.sas.svcs.backup.server.BackupServerSession.execute(BackupServerSession.java:107)
    	at com.sas.svcs.backup.server.BackupDriver.main(BackupDriver.java:131)
    
    2016-12-20 14:18:36,206 [main] ERROR com.sas.svcs.backup.server.BackupDriver - [Ljava.lang.StackTraceElement;@4388fa1d
    2016-12-20 14:18:36,206 [main] INFO  com.sas.svcs.backup.server.BackupDriver - Exiting with status code: 315
  4. Then look at the SAS-configDir\LevN\WebInfrastructurePlatformDataServer\Logs\webinfdsvrc-YYYY-MM-DD_TTTTTT.log corresponding with the time of the error in the ContentServer.log and review it for a password authentication failure for the dbmsowner account. Here is an example:

Cause

As part of the Content Server recovery process, the Deployment Backup and Recovery Tool retrieves the dbmsowner password from SAS metadata and uses this information to connect to the SharedServices database. The problem described here happens when the dbmsowner password includes a caret (^). After retrieving the dbmsowner password from metadata, the recovery uses an incorrect dbmsowner password when running the JCRCopyRepository.bat file or the JCRCopyRepository.sh file. As a result, the connection to the SharedServices database fails and the Content Server recovery is reported as failed.

Hot Fix

Click the Hot Fix tab in this note to access the hot fix for this issue.

If you prefer, you can perform the following workaround.

Workaround

Modify the JCRCopyRepository.bat file or the JCRCopyRepository.sh file to use the SAS encoded password for dbmsowner, as follows:

  1. Locate the SAS encoded dbmsowner password. Using the same host on which you executed the sas-recover-offline batch command, open the SASHOME/SASPlatformObjectFramework/9.4/tools/admin/backupservicebatch.log file and search for this string: dbmsowner, -pgpw. The SAS encoded password will come immediately after.

    Here is an example: dbmsowner, -pgpw, {SAS002}1D579339176B2AC53D0B0CB63F5BE684

  2. Next, locate the JCRCopyRepository.bat file or the JCRCopyRepository.sh file on your middle-tier host and make a copy of the file to keep as a backup. If your middle tier is clustered, you must modify all copies of the file.
    The is located in the Backup directory on the middle tier: SAS-configuration-directory/Levn/Backup
  3. Open the file and search for this string: -Dscs.jndi.pwd=%4
  4. Replace %4 with the SAS encoded password for the dbmsowner account found in step 1.

    Example:

    Change -Dscs.jni.pwd=%4 to -Dscs.jni.pwd={SAS002}1D579339176B2AC53D0B0CB63F5BE684.

    Note: Replace the SAS encoded password in this example with the SAS encoded password for dbmsowner that you found in step 1 of the workaround.

  5. Save the file and run sas-recover-offline again.
  6. Verify that the Content Server recovery is successful.

    If Content Server recovery fails again:

    • Compare the error message and information in the logs as described in the Problem section of this SAS Note to see whether the failure is the same as was originally reported or different.
    • If you still see a password authentication failed for user "dbmsowner," verify that your changes to the JCRCopyRepository.bat file or the JCRCopyRepository.sh file were saved and are correct. Otherwise, if the dbmsowner password is no longer reported as the problem, the recovery is likely failing for another reason. You should contact SAS Technical Support for assistance.


Operating System and Release Information

Product FamilyProductSystemProduct ReleaseSAS Release
ReportedFixed*ReportedFixed*
SAS SystemSAS Deployment Backup and Recovery Tool64-bit Enabled AIX9.49.439.4 TS1M09.4 TS1M5
Microsoft® Windows® for x649.49.439.4 TS1M09.4 TS1M5
HP-UX IPF9.49.439.4 TS1M09.4 TS1M5
64-bit Enabled Solaris9.49.439.4 TS1M09.4 TS1M5
Linux for x649.49.439.4 TS1M09.4 TS1M5
Solaris for x649.49.439.4 TS1M09.4 TS1M5
* For software releases that are not yet generally available, the Fixed Release is the software release in which the problem is planned to be fixed.